Skip to content

fix(ci): add concurrency group to cancel superseded runs on force-push#444

Merged
bokelley merged 1 commit intomainfrom
bokelley/ci-concurrency-413
May 3, 2026
Merged

fix(ci): add concurrency group to cancel superseded runs on force-push#444
bokelley merged 1 commit intomainfrom
bokelley/ci-concurrency-413

Conversation

@bokelley
Copy link
Copy Markdown
Contributor

@bokelley bokelley commented May 3, 2026

Summary

Closes #413. Force-pushes did not retrigger the Test Python matrix because the previous run's lightweight jobs (conventional-commits, IPR) still held the free-tier runner slots; the matrix for the new SHA was queued but never scheduled. Required `gh pr close && gh pr reopen` to work around.

This adds a per-ref concurrency group with `cancel-in-progress: true`, so a new `synchronize` event cancels the superseded run and frees the runner slots immediately.

Test plan

  • Force-push to a branch in this PR; observe that the previous CI run is auto-canceled and the Test Python matrix re-runs against the new SHA.
  • Normal first-push still runs the full matrix.

🤖 Generated with Claude Code

Force-pushes triggered a new pull_request synchronize event while the
previous run's lightweight jobs (conventional-commits, IPR) still held
the free-tier runner slots. The 4-runner Test Python matrix for the new
SHA was queued but never scheduled — the fast jobs always won. Required
a manual close/reopen to retrigger.

The concurrency block cancels in-progress runs for the same ref so the
new SHA's matrix jobs get scheduled immediately.

Closes #413
@bokelley bokelley merged commit 272fb01 into main May 3, 2026
11 of 13 checks passed
@bokelley bokelley deleted the bokelley/ci-concurrency-413 branch May 3, 2026 04:16
bokelley added a commit that referenced this pull request May 3, 2026
Bring the branch up to date with main (PRs #441, #444, #445, #446, #447).
Conflicts resolved:

* ``.github/workflows/ci.yml`` — keep main's restructured v3 storyboard
  job (translator-pattern upstream mock + readiness loop) and apply
  the poll-fix pattern (``||`` outside command substitution) to both
  the upstream-mock readiness loop and main's new seller-readiness
  loop.
* ``src/adcp/server/serve.py`` — combine main's strict-by-default
  ``validation=DEFAULT_VALIDATION`` flip with the three transport-
  security kwargs added on this branch (``allowed_hosts``,
  ``allowed_origins``, ``enable_dns_rebinding_protection``).

Auto-merged: ``examples/v3_reference_seller/src/app.py`` (translator
rewrite + this branch's webhook/dispose/DNS-rebinding kwargs),
``examples/v3_reference_seller/tests/test_smoke.py`` (translator
rewrite + this branch's port-stripping regression test),
``src/adcp/server/mcp_tools.py`` (lazy schema gen + this branch's
``setdefault("type", "object")`` for union outputSchemas),
``examples/seller_agent.py`` (channels filter intact).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug(ci): pull_request CI workflow doesn't fire on force-push

1 participant